From 1e3624005f50b372c5c6f0d9a4f5d1d85a6799e2 Mon Sep 17 00:00:00 2001 From: Alex Williamson Date: Thu, 19 Jul 2007 15:56:53 -0600 Subject: [PATCH] [IA64] Pass the bare LSAPIC ID to dom0 This patch fixes an issue which dom0 cannot boot with dom0_max_vcpus. Currently LSAPIC IDs are create by xen, but ACPI SRAT table is the bare table. So on some boxes node_cpuid[].phys_id are different from cpu_physical_id()s, and we cannot boot dom0. Instead, pass the bare LSAPIC ID to dom0. Signed-off-by: Akio Takebe --- xen/arch/ia64/xen/dom_fw_dom0.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/xen/arch/ia64/xen/dom_fw_dom0.c b/xen/arch/ia64/xen/dom_fw_dom0.c index 4eec44b157..6b410a0c32 100644 --- a/xen/arch/ia64/xen/dom_fw_dom0.c +++ b/xen/arch/ia64/xen/dom_fw_dom0.c @@ -55,12 +55,16 @@ acpi_update_lsapic(acpi_table_entry_header * header, const unsigned long end) enable = 0; if (lsapic->flags.enabled && enable) { - printk("enable lsapic entry: 0x%lx\n", (u64) lsapic); - lsapic->id = lsapic_nbr; - lsapic->eid = 0; + if (lsapic->id == 0) { + lsapic->id = lsapic_nbr; + lsapic->eid = 0; + } lsapic_nbr++; + printk("enable lsapic entry: 0x%lx (id:eid=%x:%x)\n", + (u64)lsapic, lsapic->id, lsapic->eid); } else if (lsapic->flags.enabled) { - printk("DISABLE lsapic entry: 0x%lx\n", (u64) lsapic); + printk("DISABLE lsapic entry: 0x%lx (id:eid=%x:%x)\n", + (u64)lsapic, lsapic->id, lsapic->eid); lsapic->flags.enabled = 0; lsapic->id = 0; lsapic->eid = 0; -- 2.30.2